#TODO selenim 体验
import time

from selenium import webdriver
from selenium.webdriver.common.by import By
'''
#打开浏览器
from selenium.webdriver.common.by import By

driver=webdriver.Chrome()
driver.maximize_window()
#打开百度
driver.get('https://www.baidu.com')
#搜索关键字--源码时代
time.sleep(2)
kw=driver.find_element(By.ID,'kw')
kw.send_keys('源码时代')
#点击搜索按钮
su=driver.find_element(By.ID,'su')
su.click()
#关闭浏览器
time.sleep(2)
driver.quit()
'''

#TODO 各个浏览器驱动使用
'''
#chrom
from selenium import webdriver
driver=webdriver.Chrome()
#退出浏览器
time.sleep(2)
driver.quit()

#firefox
from selenium import webdriver
driver=webdriver.Firefox()
time.sleep(2)
driver.quit()
'''

#TODO 测试案例-面向过程
'''
from selenium import webdriver
from selenium.webdriver.common.by import By
# 1、打开Chrome，打开百度首页
driver=webdriver.Chrome()
driver.get('https://www.baidu.com')
# 2、搜索框输入python自动化测试
kw=driver.find_element(By.ID,'kw')
kw.send_keys('python自动化测试')
#点击百度一下
su=driver.find_element(By.ID,'su')
su.click()
# 3、等待2秒
time.sleep(2)
# 4、获取页面标题，并打印出来
print(driver.title)
# 5、检查’python’关键字是否在标题中
if 'python' in driver.title:
    print('ok')
else:
    print('no')
# 6、关闭Chrome浏览器
time.sleep(2)
driver.quit()
'''

#TODO 测试案例-面向对象
'''
from selenium import webdriver
from selenium.webdriver.common.by import By
class TastCase:
    def __init__(self):
        self.driver=webdriver.Chrome()
    # 1、打开Chrome，打开百度首页
    def get_baidu(self):
        self.driver.get('https://www.baidu.com')
        kw=self.driver.find_element(By.ID,'kw')
        kw.send_keys('源码时代')
        su=self.driver.find_element(By.ID,'su')
        su.click()
    def quit(self,seconds=2):
        time.sleep(seconds)
        self.driver.quit()
if __name__ == '__main__':
    case=TastCase()
    case.get_baidu()
    case.quit()
'''

#TODO 模拟移动端
'''
#准备配置项
mobileEmulation={'deviceName':'iPhone SE'}
#创建option对象
options=webdriver.ChromeOptions()
#添加选项配置信息
options.add_experimental_option('mobileEmulation',mobileEmulation)
#打开浏览器,配置选项对象
driver=webdriver.Chrome(options=options)
#访问网址
driver.get('https://www.baidu.com')
#退出浏览器
driver.quit()
'''

#TODO 无头模拟
#浏览器在后台运行,不在界面显示
#选项对象,添加参数
'''
options=webdriver.ChromeOptions()
options.add_argument('-headless')
#打开浏览器,设置选项
driver=webdriver.Chrome(options=options)
#请求百度
driver.get('https://www.baidu.com')
#输出网页标题

kw=driver.find_element(By.ID,'kw')
kw.send_keys('python自动化测试')
su=driver.find_element(By.ID,'su')
su.click()
time.sleep(3)
print(driver.title)
#退出浏览器
driver.quit()
'''

#TODO 浏览器操作
class BrowserOperation:
    def __init__(self):
        self.driver=webdriver.Chrome()
        self.driver.get('https://www.baidu.com')
    def quit(self,seconds=3):
        time.sleep(seconds)
        self.driver.quit()
    def window_size(self):
        #设置浏览器宽480,高600
        time.sleep(3)
        self.driver.set_window_size(480,600)
        #浏览器最大化
        time.sleep(3)
        self.driver.maximize_window()
        #浏览器最小化
        time.sleep(3)
        self.driver.minimize_window()
    def forward_back(self):
        # 后退
        time.sleep(3)
        self.driver.back()
        #前进
        time.sleep(3)
        self.driver.forward()
    def refresh(self):
        #刷新
        time.sleep(3)
        self.driver.refresh()
    def close(self):
        #关闭当前按钮
        time.sleep(3)
        map=self.driver.find_element(By.LINK_TEXT,'地图')
        map.click()
        time.sleep(3)
        self.driver.close()
if __name__ == '__main__':
    browser=BrowserOperation()
    # browser.window_size()
    # browser.forward_back()
    # browser.refresh()
    browser.close()
    browser.quit(5)